nOpsを使ってWell-Architectedレビューを実施する

nOpsを使ってWell-Architectedレビューを実施する

Clock Icon2020.05.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんばんわ、札幌のヨシエです。

前回の記事から継続してnOpsを利用して確認できた点をまとめております。

今回はnOpsの目玉機能として記載されているWell-Architectedのレビュー結果の見方を確認しました。

TOP画面上部の「Reports」を選択します。

メニュー表示から「WAR Report」(Well-Architected Review Report)を選択します。

以下の図のようにWell-Architectedフレームワークで挙げられている設計原則に対して、要件を満たしているのかポイント付きで記載されます。

「適切な設計」と「改善が必要な設計」は以下のように確認が可能です。

OKパターン

セキュリティの柱で確認されている1項目でSecurityGroupに0.0.0.0/0として開放しているルールが存在しないか確認しております。

【説明タイム】対象アカウントは検証環境であり、ALB等の外部からアクセスが発生するリソースが存在しないことから該当するルールがなかったためPassしました。

この時は検出対象は0個であることから適切な設計が行われているとしてWell Architectedが結果として表示されております。

NGパターン

コストの柱で確認されている1項目で利用されておらず、コストが発生しているリソースの存在確認をしております。

チェック項目としては大きく5つあります。

項目 チェック内容
EBS_Unattached,EBS_Stopped-EBS EC2インスタンスにアタッチされていないEBSをチェック
EIP_Unused EC2インスタンスにアタッチされていないEIPの存在をチェック
EIP_Additional EIPが付与されているEC2インスタンスが停止されているかチェック
ELB EC2インスタンスが紐付いていないELBの存在をチェック
NAT 利用頻度が低いNATGatewayをチェックします
これはNATGatewayのCloudWatchメトリックのBytesOutToDestinationを参照、1週間で利用されていないNATGatewayをチェックしてます

【言い訳タイム】対象アカウントは検証環境であり、様々な検証を行っている最中に遊んでいるインスタンスが発生しておりました。また、バックアップの検証では特定時間のバックアップ可否を確認する事が多く、「夜間帯にバックアップを実施」を検証する際に翌日はバックアップが出来ていることやバックアップからのリストア作業検証といった次の作業に移ってしまうことからこのようなEBSが存在してしまったと推測しております。

OKパターンとは変わって、言い訳が長くなりました(どうして言い訳は長くなるのでしょう不思議です)

これはポジション的には恥ずかしいリソースなのでチェックしていきたいと思います。

赤枠で囲っている部分を選択することで、利用されていないリソース一覧が表示されます。

「List of Unused Resources」からコストが発生している「4 Stopped EBS」を選択すると、 対象となっているEBS一覧が出力されました。 ※この時Actionを選択することで、AWS画面へ遷移してボリューム状況を確認することが可能です。

このようにしてWell-Architectedに沿ったのレビューが出来ました。

ここでふと、TrustedAdvisorの存在を思い出しました。

TrustedAdvisor自身もAWSアカウントの利用実績を確認してリスクや推奨設定を教えてくれるサービスでnOpsと同様の指摘をしてくれます。

ここで生まれる疑問として「nOpsとTrustedAdvisorも行うことは一緒だからどちらかに絞ればいいのでは?」と考えられると思われます。

この部分はハッキリと回答を言い切りたいところですが、「半分は正解として、半分は回答が出来ない」かと思われます。

これはnOpsが組織全体で利用されているAWSアカウントの利用最適化を実現しやすくするものであり、TrustedAdvisorは対象AWSアカウント内の利用サービスに対して推奨設定を提案する機能であることから守備範囲が異なると考えてます。

これを実感したのはEBSスナップショットについてです。

Well-Architected Frameworkのヒアリングシートより、信頼性-障害管理6番「データのバックアップ方法」としてチェック対象されることからnOpsのチェック対象にも同様の確認点があります。

一方、Trusted Advisorではスナップショットについてはスナップショット取得状況や最終スナップショット取得日からの経過時間が提示されます。

このように確認観点が異なることから「どちらか一方を選択する」ではなく、「より良い設計を行うためにそれぞれの視点で監査を行う」考え方でそれぞれのツールを利用することで受けられる恩恵を最大限にすることが可能になると考えてます。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.